#ifndef		_STREAM_HPP_
# define	_STREAM_HPP_
# include	"../Api Headers/AStream.hpp"
# include	"../Api Headers/IMessage.hpp"
# include	"../IMessage/Message.hpp"

_BOF_ZIA_API_

class	Stream : public AStream
{
public:
	Stream();
	~Stream();
public:
	virtual	void		setMsg(Message *);
    virtual int         callReader();
    virtual bool        canRead() const;
    virtual void        write(const std::string& str);
    virtual void        write(const char* buff, size_t buffSize);
    virtual size_t      read(char* buff, size_t maxBuffSize);
	virtual void        drop();
    virtual void        dropAll();
    virtual void        flush();
    virtual void        close();
    virtual void        forceClose();
protected:
	Message	*_master;
};
_EOF_ZIA_API_

#endif		/*_STREAM_HPP_*/